import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import * as path from 'path'
import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";
import legacy from '@vitejs/plugin-legacy'
// https://vitejs.dev/config/
export default defineConfig({
  //打包配置，防止白屏
  base: './',
  plugins: [
    vue(),
    AutoImport({
      // 自动导入 Vue 相关函数，如：ref, reactive, toRef 等
      imports: ["vue"],
      eslintrc: {
        enabled: true, // 是否自动生成 eslint 规则，建议生成之后设置 false 
        filepath: "./.eslintrc-auto-import.json", // 指定自动导入函数 eslint 规则的文件
      },
      dts: path.resolve(path.resolve(__dirname, 'src'), "typings.d.ts", "auto-imports.d.ts"), // 指定自动导入函数TS类型声明文件路径
    }),
    Components({
      dts: path.resolve(path.resolve(__dirname, 'src'), "typings.d.ts", "components.d.ts"), // 指定自动导入组件TS类型声明文件路径
    }),
    legacy({
      targets: ['defaults', 'ie >= 11', 'chrome 52'],  //需要兼容的目标列表，可以设置多个
      additionalLegacyPolyfills: ['regenerator-runtime/runtime'],
      renderLegacyChunks:true,
      polyfills:[
         'es.symbol',
         'es.array.filter',
         'es.promise',
         'es.promise.finally',
         'es/map',
         'es/set',
         'es.array.for-each',
         'es.object.define-properties',
         'es.object.define-property',
         'es.object.get-own-property-descriptor',
         'es.object.get-own-property-descriptors',
         'es.object.keys',
         'es.object.to-string',
         'web.dom-collections.for-each',
         'esnext.global-this',
         'esnext.string.match-all'
     ]
  })
  ],

  
  resolve: {
    alias: {
        "@": path.resolve(__dirname, 'src'), // 路径别名
        '~bootstrap': path.resolve(__dirname, 'node_modules/bootstrap'),
    },
    extensions: ['.js', '.json', '.ts'] // 使用路径别名时想要省略的后缀名，可以自己 增减
},
css: {
  // CSS 预处理器
  preprocessorOptions: {
      //define global scss variable
      scss: {
          javascriptEnabled: true,
          additionalData: `@use "@/styles/variables.scss" as *;`
      }
  }
},
server:{
  host:'0.0.0.0' ,//ip地址
  port: 3000, // 设置服务启动端口号
  open: true, // 设置服务启动时是否自动打开浏览器
   proxy: {
    "/api": {
      //target是代理的目标路径
      target: "http://cloud.passlink.cn",
      // target: "http://127.0.0.1:8000",
      changeOrigin: true, //必须要开启跨域
     rewrite: (path) => path.replace(/^\/api/, "") // 路径重写
    },
  },
},



})
